﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MudEngine.Parsing.AST
{
    public class ParameterDeclaration : NamedAstNode
    {
        public ParameterDeclaration(string name, AType type) : base(name)
        {
            this.Type = type;
        }

		public override void AcceptVisitor<C>(IAstNodeVisitor<C> visitor, C ctx)
		{
			visitor.VisitParameterDeclaration(this, ctx);
		}
    }

	public class DynamicParameterDeclaration : ParameterDeclaration
	{
		public DynamicParameterDeclaration()
			: base("__$Dynamic_params", AType.TYPE_UNKNOWN)
		{
		}

		public override void AcceptVisitor<C>(IAstNodeVisitor<C> visitor, C ctx)
		{
			visitor.VisitDynamicParameterDeclaration(this, ctx);
		}
	}
}
